Make the effect of (defvar foo) local.
authorStefan Monnier <monnier@iro.umontreal.ca>
Mon, 13 Dec 2010 04:04:15 +0000 (23:04 -0500)
committerStefan Monnier <monnier@iro.umontreal.ca>
Mon, 13 Dec 2010 04:04:15 +0000 (23:04 -0500)
commitf0d7993b37f59a5a928a6657d8748dd53291e224
tree1c3274d3e71e5b52b6b94fa346b47d35ed2562a7
parent8e3217e7bc7672eeba8ed042e730f0da1e261cd0
Make the effect of (defvar foo) local.
* src/eval.c (apply_lambda): Make static.  Remove eval_flag arg.
(Fsetq): Don't check declared_special.
(Fdefun, Fdefmacro): Use Ffunction.
(Fdefvar): Don't set declared_special for (defvar foo).
(FletX): Check locally-special vars.  Only do specbind once.
(Flet): Check locally-special vars.
(Feval): Don't check declared_special.
(funcall_lambda): Check locally-special vars.
* src/lisp.h (apply_lambda): Remove extern declaration.
* src/lread.c (readevalloop): CSE.
* lisp/subr.el (with-lexical-binding): Remove.
lisp/ChangeLog
lisp/subr.el
src/ChangeLog
src/eval.c
src/lisp.h
src/lread.c